Skip to content

Use SciMLTesting v1.2 (folder-based run_tests)#85

Merged
ChrisRackauckas merged 1 commit into
SciML:masterfrom
ChrisRackauckas-Claude:sciml-testing-rollout
Jun 14, 2026
Merged

Use SciMLTesting v1.2 (folder-based run_tests)#85
ChrisRackauckas merged 1 commit into
SciML:masterfrom
ChrisRackauckas-Claude:sciml-testing-rollout

Conversation

@ChrisRackauckas-Claude

@ChrisRackauckas-Claude ChrisRackauckas-Claude commented Jun 13, 2026

Copy link
Copy Markdown
Contributor

Converts the PoissonRandom.jl test suite to the SciMLTesting v1.2 folder-discovery model.

What changed

  • test/runtests.jl is now just:

    using SciMLTesting
    run_tests()

    All GROUP dispatch is handled by the folder layout, which is the single source of truth (alongside the unchanged test/test_groups.toml).

  • Folder layout / group mapping (matches test_groups.toml: Core, QA):

    • Core = top-level test/*.jl (sampler_tests.jl, bigfloat_tests.jl, passthrough_rng_tests.jl, alloc_tests.jl), run with the main test env.
    • QA = test/qa/ with its own Project.toml sub-env (activated automatically by run_tests).
    • All = Core (no other in-All named groups), QA excluded.
  • The previously-inline non-QA testsets in runtests.jl are extracted into self-contained top-level Core files (each using its own deps). Each Core/QA file is run in its own @safetestset by the harness, so the exact set of tests run under each GROUP value is unchanged; no assertions were altered.

  • Deps: added SciMLTesting + SafeTestsets to the root test deps ([extras] + [targets].test, with [compat]) and to test/qa/Project.toml. Dropped Pkg from the root test deps + its compat (only the old hand-written QA-activation harness used it; grep confirms no remaining Pkg references in test/). test/test_groups.toml is unchanged.

Local verification (Julia 1.11)

Ran all three GROUP scenarios via Pkg.test() and confirmed behavior equivalence:

  • GROUP=Core -> ran Core/alloc_tests.jl (10), Core/bigfloat_tests.jl (401), Core/passthrough_rng_tests.jl (5), Core/sampler_tests.jl (0 @tests -- uses error()-based asserts, as on master). QA not run. Passed.
  • GROUP=QA -> activated test/qa env, ran QA/qa.jl (18). Core not run. Passed.
  • bare Pkg.test() (All) -> ran the four Core files; QA not run. Passed.

This matches the original master per-GROUP behavior (QA -> qa.jl; else -> sampler + BigFloat + PassthroughRNG + Allocation tests).


This supersedes the v1.0.0 harness PR (same branch) and the canonicalize-safetestset PR.

Ignore until reviewed by @ChrisRackauckas.

Convert the test suite to the SciMLTesting v1.2 folder-discovery model:

- runtests.jl is now `using SciMLTesting; run_tests()`. The folder layout is
  the single source of dispatch:
    * Core = top-level test/*.jl (sampler_tests, bigfloat_tests,
      passthrough_rng_tests, alloc_tests), run with the main test env.
    * QA   = test/qa/ (its own Project.toml sub-env, activated by run_tests).
  test_groups.toml is unchanged (Core, QA).
- Extract the previously-inline non-QA testsets into self-contained top-level
  Core files (sampler_tests.jl, bigfloat_tests.jl, passthrough_rng_tests.jl);
  alloc_tests.jl was already a file. Each is run in its own @safetestset by the
  harness, so the exact set of tests per GROUP is preserved.
- Add SciMLTesting + SafeTestsets to the root test deps ([extras]+[targets].test,
  with [compat]) and to test/qa/Project.toml. Drop Pkg from the root test deps
  and its compat (only the old hand-written QA-activation harness used it).

Co-Authored-By: Chris Rackauckas <accounts@chrisrackauckas.com>
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
@ChrisRackauckas-Claude ChrisRackauckas-Claude changed the title Use SciMLTesting v1.0.0 (run_tests harness) Use SciMLTesting v1.2 (folder-based run_tests) Jun 14, 2026
@ChrisRackauckas ChrisRackauckas marked this pull request as ready for review June 14, 2026 23:54
@ChrisRackauckas ChrisRackauckas merged commit 71bf79d into SciML:master Jun 14, 2026
16 of 17 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants